package com.ruicar.afs.cloud.afscase.infomanagement.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>Description: </p>
 *
 * @author ZC.GUO
 * @version 1.0
 * @date create on 2020-05-13 16:51
 */
@Data
@TableName("case_cust_history")
@ApiModel(value = "客户信息历史表")
public class CaseCustHistory implements Serializable, Cloneable {

    @ApiModelProperty("唯一标识")
    @JsonSerialize(using = ToStringSerializer.class)
    @JSONField(serializeUsing = com.alibaba.fastjson.serializer.ToStringSerializer.class)
    @TableId(value = "id", type = IdType.INPUT)
    private Long id;
    /**
     * 申请编号
     */
    private String applyNo;
    /**
     * 客户ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long custId;
    /**
     * 案件角色
     */
    private String custRole;
    /**
     * 姓名
     */
    private String custName;
    /**
     * 证件类型
     */
    private String certType;
    /**
     * 证件号码
     */
    private String certNo;
    /**
     * 有效期起
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date certStartDate;
    /**
     * 有效期止
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date certEndDate;
    /**
     * 是否长期
     */
    private Boolean isLongTerm;

    /**
     * 创建人
     */
    private String createBy;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新人
     */
    private String updateBy;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 删除标记
     */
    private String delFlag;

    /**
     * 30天内证件过期，页面表格底色标红
     */
    @TableField(exist = false)
    private Boolean isExpire;

}
